﻿/*-------------------------------------------------------------------------
* 命名空间: SiliconSelect.Converter/InverseBooleanConverter
* 类       名: InverseBooleanConverter
* 功      能:  取反bool变量值,目的是: WPF中XAML文件中boolean值不支持直接取反操作,可以使用类型转换器.
* 时      间:  2023/7/7 14:14:33
* 版      本:  V1.0
* 作      者:  Fioman
* 格      言:  Talk is cheap,show me the code ^_^
*-------------------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;

namespace SiliconSelect.Converter
{
    public class InverseBooleanConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is bool boolVal)
            {
                return !boolVal;
            }
            // 不执行任何进一步的转换和操作,并且保持绑定的原始状态.
            // 如果输入的值不是bool类型,就返回这个
            return Binding.DoNothing;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}
